package com.jzo2o.health.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.jzo2o.health.model.domain.ReservationSetting;
import com.jzo2o.health.model.dto.request.ReservationSettingUpsertReqDTO;
import com.jzo2o.health.model.dto.response.ReservationDateResDTO;
import com.jzo2o.health.model.dto.response.ReservationSettingResDTO;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 预约设置 服务类
 * </p>
 *
 * @author author
 * @since 2024-12-13
 */
public interface IReservationSettingService extends IService<ReservationSetting> {
    /**
     * 按月查询预约设置
     * @param date
     * @return
     */
    List<ReservationSettingResDTO> getReservationSettingByMonth(String date);

    /**
     * 编辑预约设置
     * @param reservationSettingUpsertReqDTO
     */
    void editNumberByDate(ReservationSettingUpsertReqDTO reservationSettingUpsertReqDTO);


    /**
     * 用户按月查询可预约日期
     * @param month
     * @return
     */
    ReservationDateResDTO getReservationDateByMonth(String month);

    /**
     * 批量预约设置
     * @param file
     */
    void batchSetting(MultipartFile file);

    /**
     * 预约人数增加一
     * @param date
     */
    void addOne(LocalDate date);

    /**
     * 预约人数减少一
     * @param date
     */
    void subtractOne(LocalDate date);
}
